"KconfigSize" a Tool to check the Kernal Size
(Mr. Ikeda, NEC)

[Translator's comment: see presentation PDF file size_tool_celf_2006-01-20_en.pdf (in English)]

* Presentation
 We have analyzed Linux Tiny.
 The size difference among kernel config's are larger than size reduction by Linux Tiny.
 So we investigated the relation between config and kernel size.
 This work was tedious as it required to repeat "make menuconfig, make, ...",
 so we developed a tool for it.
 As there is dependence among config's, it was taken into consideration.

 The goals of this study was to investigate size impact of each config.
 We classified configs into three categories:

 1. mandatory configs required to boot up
    cpu rootfs device
 2. independent configs
    configs whose sizes are measurable by themselves
 3. dependent configs
    configs whose sizes vary depending on other config settings
    SMP support, printk support

 We defined base configs as 1. and 3. above.

 minimal size: small bzImage, uImage
 i386: 400k
 ARM: 340K

 On ARM, kernel with printk support disabled did not boot
 Sizes of 2.6 line kernels are getting fatter and fatter

* Future Plan
 Want to make the size predictable from .config file used

* Q&A

- How do you measure memory usage?

 Data collectable with /proc/meminfo
 It would be better to take cache effect into consideration

- How about measuring .o size of kernel?

  Such approach is possible.

- How did you resolve dependendence?
 Investigating by modifying parser of scripts/Kconfig.
  
